package org.lfs.config;

import org.lfs.domain.Prompt;

import java.util.ArrayList;
import java.util.List;

public class PromptText {

    public static List<Prompt> getSamplePrompts() {
        return new ArrayList<Prompt>() {{
            add(new Prompt("开头【必须】★★★★★", "下面这些代码是我开发的一个项目，你能看出来是做什么的吗？"));
            add(new Prompt("现有技术(背景技术)内容",
                    "现在我打算就这个设计写一份专利技术交底书，现在这份专利技术交底书中需要提供现有技术（背景技术）的内容，你能帮我写出来吗？\n" +
                            "撰写指导：\n" +
                            "1、本部分应特别指出背景技术中存在的问题和缺陷，这些问题和缺陷应与本申请的技术方案所解决的问题和缺点相对应。可能的话，应说明产生这些问题和缺点的原因以及解决这些问题曾经遇到的困难。\n" +
                            "2、不要添加商业宣传内容（应依据事实做客观评价，不得有夸大、恶意贬低的情形）。能够解决现有技术不能解决的问题，正是本发明申请专利的价值。此部分文字限制在一个自然段，不要太多。\n" +
                            "3、本技术方案解决不了的技术问题无需说明。\n" +
                            "4、当本技术方案能解决的技术问题或者技术方案目的有多个时，可以分别列出，例如本技术方案的目的之一在于…技术方案的目的之二在于….本技术方案的目的之三在于…"));
            add(new Prompt("技术领域简述",
                    "现在这份专利技术交底书中还需要提供技术领域的简述，你能帮我写出来吗？\n" +
                            "撰写指导：\n" +
                            "1、简要说明要求保护的技术方案所属技术领域。\n" +
                            "2、技术领域应适当，不宜写得过大、过小、过细，同时避免写入发明点相关的内容，以避免对权利要求的保护范围造成限制。"));
            add(new Prompt("背景技术缺陷",
                    "非常好，现在这份专利技术交底书中还需要提供背景技术的缺陷（本技术方案所要解决的技术问题）。你能帮我写出来吗？模板如下：\n" +
                            "缺陷/问题是：\n" +
                            "1、\n" +
                            "2、\n" +
                            "……\n" +
                            "导致的原因：\n" +
                            "1、\n" +
                            "2、\n" +
                            "……"));
            add(new Prompt("技术方案详述",
                    "现在这份专利技术交底书中还需要提供技术方案详述（核心撰写部分）的内容，你能帮我写出来吗？模板如下：\n" +
                            "技术方案名称:xxx\n" +
                            "技术领域:xxx\n" +
                            "技术背景:xxx\n" +
                            "技术方案:xxx（这里必须深入、详细的描述，流程要尽可能细微到底层的实现，例如有步骤1、2、3、4，1.通过……，然后还要有1.1、1.2……对其进行展开阐述底层的流程）\n" +
                            "实施例:xxx\n" +
                            "替代方案:xxx"));
            add(new Prompt("有益技术效果",
                    "现在这份专利技术交底书中还需要提供“本技术方案所产生的有益的技术效果”的内容，你能帮我写出来吗？\n" +
                            "撰写指导： \n" +
                            "1、通常有益效果可以代码的各个维度方面反映出来。 \n" +
                            "2、最佳的有益效果撰写方式，应该是将方案中的关键部件或流程与其产生的作用进行详细的说明 \n" +
                            "3、尽可能多的列举本技术交底书相比较现有技术带来的有益技术效果，做到有理有据。"));
            add(new Prompt("专利保护点",
                    "现在这份专利技术交底书中还需要提供“本技术的关键点和想要进行专利保护的保护点”的内容，你能帮我写出来吗？\n" +
                            "撰写指导：\n" +
                            "1、重点放在把本专利技术的关键技术与传统技术作比对，并做客观评价；该比对应是具体技术手段的比对，而不能仅仅是功能上的比对。\n" +
                            "2、“发明技术方案概述”部分提供的是为完成一定功能的完整技术方案，在本部分是提炼出技术方案的关键创新点，列出1、2、3...，以提醒代理人注意，便于专利代理人撰写权利要求书。\n" +
                            "3、完成创新点分级提示，尽可能地提示专利代理人哪些是最核心的发明点、较重要的发明点、一般重要的改进点，以便代理人完成权利要求书的合理布局。\n" +
                            "4、该部分应强调本申请技术方案的最精华部分，也是最不容易想到的部分，也是最具有专利价值的部分。"));
            add(new Prompt("可替代技术方案",
                    "现在这份专利技术交底书中还需要提供“可替代的技术方案”的内容，你能帮我写出来吗？\n" +
                            "撰写指导：\n" +
                            "1、从整体考虑，是否有整体的替代或变形方案，或者对核心技术特征的替代或变形方案；主要根据本发明体现出来的设计思路，别人能不能想到其他的整体的替代方案来实现；从另一个角度讲：考虑授权后，站在竞争对手的角度可能提出的回避设计方案。\n" +
                            "2、如果有相应的替代方案，请尽量写明，该部分内容的提供可以扩大专利的保护范围，防止他人绕过本技术去实现同样的发明目的。\n" +
                            "3、“替代方案”可以是部分结构、器件、方法步骤的替代，也可以是完整技术方案的替代，且替代的方案可以不是最佳的方案。\n" +
                            "4、从本申请的技术方案出发，进行发散思维或专利攻防模拟，思考潜在的侵权者将如何绕过本申请的保护范围，提前预防进行封堵，把尽可能多的实施方式都保护起来。"));
            add(new Prompt("专用名词",
                    "这份专利技术交底书中现在还需要提供“其他需要补充的技术方案信息”的内容，你能帮我写出来吗？主要是简略的列举并介绍专利中涉及到的一些专用名词"));
            add(new Prompt("时序图",
                    "关于本专利的整体实现流程，你能用mermaid画出整体的时序图吗，时序图要覆盖这个专利的整个流程。时序图中涉及到的类名或方法名尽量用中文别名代替"));
            add(new Prompt("流程图",
                    "关于本专利的整体实现流程，你能用mermaid画出整体的流程图吗，流程图要覆盖这个专利的整个流程。流程图中涉及到的类名或方法名尽量用中文别名代替"));
        }};
    }
}
